/**
 * 矩形类：有宽和高。没有提供会破坏子类的可变 setter（例如 Square）
 * 因此我们把 Rectangle 设计为独立的 Shape 子类（而不是让 Square 继承 Rectangle）。
 */
public class Rectangle extends Shape {
    private final double width;
    private final double height;

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    public double getWidth() {
        return width;
    }

    public double getHeight() {
        return height;
    }

    @Override
    public double getArea() {
        return width * height;
    }
}
